龙蜥开发者说:我的操作系统之路,坚持从实践中来,到实践中去 | 第6期
「龙蜥开发者说」来了!开发者与开源社区相辅相成,相互成就,这些个人在龙蜥社区的使用心得、实践总结和技术成长经历都是宝贵的,我们希望在这里让更多人看见技术的力量。本期故事,我们邀请了龙蜥社区开发者花静云来分享「我的操作系统之路,坚持从实践中来,到实践中去」。
欢迎阅读上期故事《龙蜥开发者说:从零开始的创造,是动力也是挑战 | 第5期》。开发者说系长期活动,对于积极投稿、多次分享的童鞋,我们还有神秘大礼鼓励!诚邀开发者们分享真实体验,以文会友、共同学习、一起进步。本期故事主角:花静云,「 龙蜥社区 2021 年度突出贡献奖」获得者;龙蜥社区 LoongArch SIG 核心成员,参与龙蜥操作系统(Anolis OS)的 LoongArch 架构建设,专注于多架构软件开发支持,担任 2021 年走进理事之龙芯 Meetup 分享嘉宾。
我第一次深度接触操作系统其实是在 2020 年 7 月,因为那段时间和同事们一起移植了两个小型的 Linux 系统:Alpine Linux 和 Photon OS。正是这一段开发经历,改变了我对操作系统的认识。
看着操作系统从 0 到 1 在计算机上运行起来是一个很神奇的过程。从基础工具链、编译器等核心软件的支持到越来越多软件应用集成的过程中,一个个 bug 被修复、一个个不稳定因素被排除等等,靠着开发人员的共同努力,系统最终得以稳定运行。我很荣幸能够亲身参与进来,从众多系统使用者之一变成建设开发它的一员。当真正经历了角色上的转变,才能体会到在研发过程中发挥自我价值所带来的成就感。自此,我对操作系统的兴趣也愈发浓厚。
2021 年,我有幸加入到了龙蜥社区,成为社区的一名操作系统开发人员。我在社区中主要参与龙蜥操作系统(Anolis OS)的 LoongArch 版本仓库软件建设,致力于提供 Anolis OS 对 LoongArch 指令集架构的支持和围绕 LoongArch 构建软件生态。这是我第一次加入社区,以前社区的工作在我眼中十分神秘,当它突然离我很近的时候就感受到挑战来临了,心里充满好奇的同时也感受到了责任压在肩上。我希望能够做好每一件小事,为社区贡献自己的力量。
龙蜥是一个大家庭,聚集了一群志同道合的伙伴,我们虽然互不认识,却都在各自擅长的领域为社区做贡献。参与龙蜥社区建设以来,我的感受大概从以下三个方面概括:
第一个最直观的体会是龙蜥社区的“事事有回应”。操作系统的构建过程难免会遇到许多问题,当遇到解决不了的问题时,会向社区的老师们请教,他们都会及时回复并从专业的角度做出解答,而且只要是关乎系统的任何问题,社区人员一经发现就会及时处理,从不含糊。记得有段时间向社区提交了许多软件包的补丁,由于部分包在构建的时候编译出错了(当时是源中的一个软件包依赖出现了错误),我第一时间向社区提出问题,相关的负责老师主动联系我处理了此问题。记忆特别深刻,因为当时反馈问题时已经是深夜,但是老师在第一时间进行了回复,很感激,在此感谢各位老师的帮忙。
我也突然就能理解所谓的社区成员的责任感,或许这就是吧!
第二个对龙蜥的认知是“开放及包容”。作为一个开源、开放的平台,龙蜥社区吸引并接纳了大量企业贡献者和个人贡献者。在这个人才汇聚的平台上,我也有机会接触认识了社区的其他伙伴。大家讨论问题的过程中,无论是难的还是简单的,都会耐心地给予解答。在这个良好的社区氛围下,作为知识受益者之一,我不仅得到了来自社区的有效帮助,也尽我所能去帮助社区的其他伙伴。前面几期开发者说中,就有我在社区遇到的朋友,现在我也在这里分享着在龙蜥社区的点滴,虽然我们来自不同的公司,却有着共同前进的方向。
第三个感受是龙蜥社区里大家好像永远在前进,从不停歇。在社区工作过程中,我获得诸多机会发现自己的短板。我通常的做法是遇到问题后自己先思考,再尝试操作,如果实在无法解决难题,就向更专业的人请教。在这个过程中,我学习到了太多以前从未接触过的知识。我如雏鸟丰满羽翼般填充自身的知识库,从操作系统的构建框架、系统包的编译流程、自动化构建到如何生成一个可用的系统容器镜像和 ISO,不断地加深我对操作系统的理解。
另外,在对软件的移植和解决问题过程,比如在对 gperftoos 项目的移植过程,从对项目的理解和文件梳理,到适配、构建和测试的过程中,也让我有机会加深了对系统汇编,指令集、内存等底层内容的理解,这给予了我太多前进的动力。其实人偶尔也会有惰性,我也喜欢待在自己的舒适区,可在龙蜥社区的工作涉及方方面面,那些未知的领域像一个巨大的宝藏等待人去挖掘,我越是学习,就越发现自己的不足,所以越努力、越前进,这种满足感是待在舒适区无法获得的。
2021 年 9 月,我有幸在龙蜥社区(OpenAnolis)“走进理事”系列 Meetup 活动中参与分享了主题为《基于 LoongArch 的 Alpine Linux》的操作系统相关知识。
很荣幸获得了这次演讲的机会,此次演讲我主要分享了基于 LoongArch 的 Alpine Linux 建设情况(以 Alpine Linux 为例介绍操作系统在 LoongArch 架构的移植构建方案),简单介绍了操作系统的基本概念和该系统在云计算领域的地位,着重从系统的构建方案、系统包构建原理、CPU 架构支持、minirootfs 根系统、Docker image 构建、ISO 镜像生成等方面介绍了系统在 LoongArch 架构上的移植过程和移植情況,其实操作系统的构建原理总是相通的。
在这次线下活动中,我见到了许多龙蜥社区大佬和平时线上协作的小伙伴们,在现场交流的过程中,能强烈感受到大家对社区工作的热情,我也深受鼓舞。大家共同的心愿都是把龙蜥社区做好,在这里能够遇到一些志同道合的人一路同行,真是最大的幸运了。
(图/获得龙蜥社区 2021 年度「突出贡献奖」)
最后,感谢社区为我颁发了「 2021 年度突出贡献奖」。这个奖项对我而言是一个极大的鼓励,我深知自己还有许多需要提升的地方,后续我也将继续深入到社区建设,为加速龙蜥社区多架构软件生态建设做贡献,相信未来的龙蜥社区能够走得更远!
欢迎大家加入 LoongArch SIG 共建,SIG地址:https://openanolis.cn/sig/LoongArch
更多龙蜥开发者的故事,可阅读往期开发者说:
加入微信群:添加社区助理-龙蜥社区小龙(微信:openanolis_assis),备注【龙蜥】与你同在;加入钉钉群:扫描下方钉钉群二维码。欢迎开发者/用户加入龙蜥社区(OpenAnolis)交流,共同推进龙蜥社区的发展,一起打造一个活跃的、健康的开源操作系统生态!
龙蜥社区(OpenAnolis)由企事业单位、高等院校、科研单位、非营利性组织、个人等在自愿、平等、开源、协作的基础上组成的非盈利性开源社区。龙蜥社区成立于 2020 年 9 月,旨在构建一个开源、中立、开放的 Linux 上游发行版社区及创新平台。
龙蜥社区成立的短期目标是开发龙蜥操作系统(Anolis OS)作为 CentOS 停服后的应对方案,构建一个兼容国际 Linux 主流厂商的社区发行版。中长期目标是探索打造一个面向未来的操作系统,建立统一的开源操作系统生态,孵化创新开源项目,繁荣开源生态。
目前,龙蜥OS 8.4已发布,支持 X86_64 、Arm64、LoongArch 架构,完善适配 Intel、兆芯、鲲鹏、龙芯等芯片,并提供全栈国密支持。
欢迎下载:https://openanolis.cn/download
加入我们,一起打造面向未来的开源操作系统!
https://openanolis.cn
往期精彩推荐
1.龙蜥云原生机密计算 SIG 成立,7 大开源项目重磅亮相!
2.龙蜥开源内核追踪利器 Surftrace:协议包解析效率提升 10 倍!| 龙蜥技术